/**
 * @constructor
 * @private
 */
traqk.core.data.Entity = function() {
	/**
	 * @type {!string}
	 * @private
	 */
	this.id_;

	/**
	 * @type {!traqk.core.data.Entity.Type}
	 * @private
	 */
	this.type_;

	/**
	 * @type {!Array<!traqk.core.data.Entity.Field>}
	 * @private
	 */
	this.fields_;
};

/**
 * @constructor
 * @private
 */
traqk.core.data.Entity.Type = function() {
	/**
	 * @type {!string}
	 * @private
	 */
	this.id_;
	
	/**
	 * @type {!Array<!traqk.core.data.Entity.Field.Type>}
	 * @private
	 */
	this.fields_;
};

/**
 * @constructor
 * @private
 */
traqk.core.data.Entity.Field = function() {
	/**
	 * @type {!traqk.core.data.Entity.Field.Type}
	 * @private
	 */
	this.type_;

	/**
	 * @type {!traqk.core.data.Entity.Field.Type}
	 * @private
	 */
	this.value_;
};

/**
 * @interface
 */
traqk.core.data.Entity.Field.Value = goog.abstractMethod;

/**
 * @enum {number}
 */
traqk.core.data.Entity.Field.Type = {
	TEXT: 'text',
	NUMBER: 'number',
	DATE: 'date',
	LOCATION: 'location'
};
